package br.upe.portlet.estagio.service;

import com.liferay.portal.PortalException;
import com.liferay.portal.SystemException;
import com.liferay.portal.kernel.annotation.Propagation;
import com.liferay.portal.kernel.annotation.Transactional;


/**
 * <a href="AlunoLocalService.java.html"><b><i>View Source</i></b></a>
 *
 * <p>
 * ServiceBuilder generated this class. Modifications in this class will be
 * overwritten the next time is generated.
 * </p>
 *
 * <p>
 * This interface defines the service. The default implementation is
 * <code>br.upe.portlet.estagio.service.impl.AlunoLocalServiceImpl</code>.
 * Modify methods in that class and rerun ServiceBuilder to populate this class
 * and all other generated classes.
 * </p>
 *
 * <p>
 * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
 * </p>
 *
 * @author Brian Wing Shun Chan
 *
 * @see br.upe.portlet.estagio.service.AlunoLocalServiceUtil
 *
 */
@Transactional(rollbackFor =  {
    PortalException.class, SystemException.class}
)
public interface AlunoLocalService {
    public br.upe.portlet.estagio.model.Aluno addAluno(
        br.upe.portlet.estagio.model.Aluno aluno)
        throws com.liferay.portal.SystemException;

    public br.upe.portlet.estagio.model.Aluno createAluno(
        java.lang.String matricula);

    public void deleteAluno(java.lang.String matricula)
        throws com.liferay.portal.SystemException,
            com.liferay.portal.PortalException;

    public void deleteAluno(br.upe.portlet.estagio.model.Aluno aluno)
        throws com.liferay.portal.SystemException;

    public java.util.List<Object> dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
        throws com.liferay.portal.SystemException;

    public java.util.List<Object> dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
        int end) throws com.liferay.portal.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public br.upe.portlet.estagio.model.Aluno getAluno(
        java.lang.String matricula)
        throws com.liferay.portal.SystemException,
            com.liferay.portal.PortalException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<br.upe.portlet.estagio.model.Aluno> getAlunos(
        int start, int end) throws com.liferay.portal.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public int getAlunosCount() throws com.liferay.portal.SystemException;

    public br.upe.portlet.estagio.model.Aluno updateAluno(
        br.upe.portlet.estagio.model.Aluno aluno)
        throws com.liferay.portal.SystemException;

    public br.upe.portlet.estagio.model.Aluno addAluno(long creatorUserId,
        long companyId, java.lang.String screenName,
        java.lang.String emailAddress, java.util.Locale locale,
        java.lang.String firstName, java.lang.String middleName,
        java.lang.String lastName, boolean male, int birthdayMonth,
        int birthdayDay, int birthdayYear, java.lang.String matricula,
        long codigoCurso,
        com.liferay.portal.service.ServiceContext serviceContext,
        java.util.Date createDate)
        throws com.liferay.portal.PortalException,
            com.liferay.portal.SystemException;

    public br.upe.portlet.estagio.model.Aluno addAluno(long creatorUserId,
        long companyId, boolean autoPassword, java.lang.String password1,
        java.lang.String password2, boolean autoScreenName,
        java.lang.String screenName, java.lang.String emailAddress,
        java.lang.String openId, java.util.Locale locale,
        java.lang.String firstName, java.lang.String middleName,
        java.lang.String lastName, int prefixId, int suffixId, boolean male,
        int birthdayMonth, int birthdayDay, int birthdayYear,
        java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
        long[] roleIds, long[] userGroupIds, long[][] userGroupRoleIds,
        boolean sendEmail,
        com.liferay.portal.service.ServiceContext serviceContext,
        java.lang.String matricula, long codigoCurso, java.util.Date createDate)
        throws com.liferay.portal.PortalException,
            com.liferay.portal.SystemException;

    public br.upe.portlet.estagio.model.Aluno updateAluno(
        java.lang.String oldPassword, java.lang.String newPassword1,
        java.lang.String newPassword2, boolean passwordReset,
        java.lang.String reminderQueryQuestion,
        java.lang.String reminderQueryAnswer, java.lang.String screenName,
        java.lang.String emailAddress, java.lang.String openId,
        java.lang.String languageId, java.lang.String timeZoneId,
        java.lang.String greeting, java.lang.String comments,
        java.lang.String firstName, java.lang.String middleName,
        java.lang.String lastName, int prefixId, int suffixId, boolean male,
        int birthdayMonth, int birthdayDay, int birthdayYear,
        java.lang.String smsSn, java.lang.String aimSn,
        java.lang.String facebookSn, java.lang.String icqSn,
        java.lang.String jabberSn, java.lang.String msnSn,
        java.lang.String mySpaceSn, java.lang.String skypeSn,
        java.lang.String twitterSn, java.lang.String ymSn,
        java.lang.String jobTitle, long[] groupIds, long[] organizationIds,
        long[] roleIds,
        java.util.List<com.liferay.portal.model.UserGroupRole> userGroupRoles,
        long[] userGroupIds, long[][] userGroupRoleIds,
        com.liferay.portal.service.ServiceContext serviceContext,
        java.lang.String matricula, long codigoCurso,
        java.util.Date modifiedDate)
        throws com.liferay.portal.PortalException,
            com.liferay.portal.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public br.upe.portlet.estagio.model.Aluno getAlunoByUser(
        com.liferay.portal.model.User user)
        throws br.upe.portlet.estagio.NoSuchAlunoException,
            com.liferay.portal.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public br.upe.portlet.estagio.model.Aluno getAlunoByUserId(long userid)
        throws br.upe.portlet.estagio.NoSuchAlunoException,
            com.liferay.portal.SystemException;
}
